Terminal for reading machine-readable indicia and for executing a program

ABSTRACT

A compact assembly for electro-optically scanning indicia includes an oscillatable component operative for focusing, and for sweeping, a light beam across the indicia and, optionally, for correcting for scan aberration. A laser diode for emitting the beam is inserted into a central opening surrounded by an electromagnetic coil to conserve space. A magnet on the component interacts with the coil to effect oscillation. A floating flexure returns the component to an equilibrium position.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of pending U.S. patent application Ser. No. 09/379,153, filed Aug. 23, 1999 now U.S. Pat. No. 6,283,372, which in turn is a division of U.S. patent application Ser. No. 09/167,880, filed Oct. 7, 1998 now U.S. Pat. No. 6,412,697, which in turn is a continuation of U.S. patent application Ser. No. 08/595,162, filed Feb. 1, 1996, now U.S. Pat. No. 5,861,615, which in turn is a continuation of U.S. patent application Ser. No. 08/153,053, filed Nov. 17, 1993, now U.S. Pat. No. 5,504,316, which in turn is a continuation-in-part of U.S. patent application Ser. No. 07/868,401, filed Apr. 14, 1992, now U.S. Pat. No. 5,280,165, which in turn is a division of U.S. patent application Ser. No. 07/520,464, filed May 8, 1990, now U.S. Pat. No. 5,168,149. This application is also a continuation-in-part of U.S. patent application Ser. No. 08/037,143, filed Mar. 25, 1993, now abandoned, which is a continuation-in-part of U.S. patent application Ser. No. 07/715,267, filed Jun. 14, 1991, now U.S. Pat. No. 5,235,167. This application is also a continuation-in-part of U.S. patent application Ser. No. 07/981,448, filed Nov. 25, 1992, now U.S. Pat. No. 5,478,997. This application is further a continuation-in-part of U.S. patent application Ser. No. 08/028,107, filed Mar. 8, 1993, now U.S. Pat. No. 5,408,081.

TECHNICAL FIELD

This invention relates generally to hand-held scanning systems which “read” indicia, such as barcode symbols, and in particular to systems and methods for scanning one-dimensional (1-D) and two-dimensional (2-D) barcode symbols with a first scan pattern that is relatively small and dense so as to be visible to the user, and thereafter a second, larger and more robust scan pattern for decoding. The invention also relates to scanners operable in both portable (hand-held) and surface mounted (hands-free) modes for reading various types of indicia. The invention further relates to novel miniature assemblies capable of 1-D and 2-D scanning.

BACKGROUND ART

Various optical readers and scanning systems have been developed for reading barcode symbols appearing on a label or the surface of an article. The barcode symbol itself is a coded pattern of indicia comprised of a series of bars of various widths spaced apart from one another to bound spaces of various widths, the bars and spaces having different light-reflecting characteristics. The readers and scanning systems electro-optically transform the graphic indicia into electrical signals, which are decoded into alpha-numerical characters intended to be descriptive of the article or some characteristic of it. Such characters typically are represented in digital form, and utilized as an input to a data processing system for applications in point-of-sale processing, inventory control and the like. Scanning systems of this general type have been disclosed, for example, in U.S. Pat. Nos. 4,251,798; 4,360,798; 4,369,361; 4,387,297; 4,409,470 and 4,460,120, all assigned to the assignee of the present invention.

One embodiment of such a scanning system, as disclosed in some of the above patents, resides in, inter alia, a hand-held, portable laser scanning head supported by a user. The scanning head is configured to enable the user to aim the head at a target to emit a light beam toward a symbol to be read. The light source is a laser scanner typically in the form of a gas or semiconductor laser element. Use of semiconductor devices as the light source in scanning systems is particularly desirable because of the small size, low cost and low power requirements of semiconductor lasers. The laser beam is optically modified, typically by a lens, to form a beam spot of a certain size at the target distance. Preferably, the beam spot size at the target distance is approximately the same as the minimum width between regions of different light reflectivity, i.e., the bars and spaces of the symbol.

The barcode symbols are formed from bars or elements typically rectangular in shape with a variety of possible widths. The specific arrangement of elements defines the character represented according to a set of rules and definitions specified by the code or “symbology” used. The relative size of the bars and spaces is determined by the type of coding used, as is the actual size of the bars and spaces. The number of characters per inch represented by the barcode symbol is referred to as the density of the symbol. To encode a desired sequence of characters, a collection of element arrangements are concatenated together to form the complete barcode symbol, with each character of the message being represented by its own corresponding group of elements. In some symbologies a unique “start” and “stop” character is used to indicate where the barcode begins and ends. A number of different barcode symbologies exist. These symbologies include UPC/EAN, Code 39, Code 128, Codabar, and Interleaved 2 or 5.

In order to increase the amount of data that can be represented or stored on a given amount of surface area, several new barcode symbologies have recently been developed. One of these new code standards, Code 49, introduces a “two-dimensional” concept by stacking rows of characters vertically instead of extending the bars horizontally. That is, there are several rows of bar and space pattern, instead of only one row. The structure of Code 49 is described in U.S. Pat. No. 4,794,239, which is hereby incorporated by reference.

A one-dimensional single-line scan, as ordinarily provided by hand-held readers, functions by repetitively scanning the light beam in a line or series of lines across the symbol using a scanning component such as a mirror disposed in the light path. The scanning component may either sweep the beam spot across the symbol and trace a scan line across and past the symbol, or scan the field in view of the scanner, or do both.

Scanning systems also include a sensor or photodetector, usually of semiconductor type, which functions to detect light reflected from the symbol. The photo-detector is therefore positioned in the scanner or in an optical path in which it has a field of view which extends across and slightly past the symbol. A portion of the reflected light which is reflected off the symbol is detected and converted into an electrical signal, and electronic circuitry or software decodes the electrical signal into a digital representation of the data represented by the symbol that has been scanned. For example, the analog electrical signal from the photodetector may typically be converted into a pulse width modulated digital signal, with the widths corresponding to the physical widths of the bars and spaces. Such a signal is then decoded according to the specific symbology into a binary representation of the data encoded in the symbol, and to the alphanumeric characters so represented.

The decoding process in known scanning systems usually works in the following way. The decoder receives the pulse width modulated digital signal from the scanner, and an algorithm implemented in software attempts to decode the scan. If the start and stop characters and the characters between them in the scan were decoded successfully and completely, the decoding process terminates and an indicator of a successful read (such as a green light and/or an audible beep) is provided to the user. Otherwise, the decoder receives the next scan, performs another decode attempt on that scan, and so on, until a completely decoded scan is achieved or no more scans are available.

More sophisticated scanning, described in U.S. Pat. No. 5,235,167, assigned to the common assignee, and incorporated herein by reference, carries out selective scanning of 1-D and 2-D barcodes. Preliminary information, such as the barcode type and size, is preliminarily decoded during an aiming mode of operation when a relatively narrow and visible raster pattern is impinged on the target. Based upon the preliminary information, received by the scanner in the form of light reflected from the target, converted to an electrical signal and decoded, an appropriately sized raster scan pattern is generated. If the barcode pattern is found to be skewed or misaligned with respect to the direction of the raster scanning pattern, the pattern is generated with an orientation in alignment with the barcode. Aligning the scan pattern to the barcode is awkward, especially for long range scanning. If a barcode is not horizontally positioned on, for example, a container, the user is forced to position the scanner sideways in order to scan the barcode. One possible solution, described in the aforementioned U.S. Pat. No. 5,235,167, is to control the scanner to self-orient the scan pattern to the orientation of the barcode.

Scanning 2-D, or PDF, barcodes with a raster pattern also presents a similar problem. At certain distances, the visibility of a 2-D raster pattern is poorer than that of a single line, and orienting the barcode with the scan lines is not effortless. Assuming the pattern to be amply visible, the user may tend to position the 2-D barcode horizontally under a scan lamp. However, it would be ideal if no aligning is required. For example, a 2-D barcode may have been a photocopy vertically aligned onto a page. Upon scanning, the user may first subconsciously attempt to present the page horizontally, and thus present the barcode vertically. Without ability by the scanner to instantaneously sense barcode orientation, and then position a raster pattern to scan it, the user will be forced to realign the page vertically.

Following alignment of the scan pattern to the barcode, the pattern is then increased in width so as to fully span the length of the barcode, and if the pattern is determined to be a 2-D barcode, the height of the scan pattern is also increased so as to decode all of the barcode rows. However, the rate at which the raster pattern is increased in size is fixed and independent of the size of the barcode or the distance between the hand-held scanner and target. At a common rate of pattern size increase, depending upon the size of the barcode it may require from 0.1 to 2.0 seconds to open the scan pattern and decode the barcode. Distance to the target is another factor. Pattern size is incremented until the entire pattern is decoded. The size of each increment of increase is determined in part by the working range of the scanner. Very long range scanners, usable up to sixty feet, for example, may require smaller increments so that the patterns do not grow too fast at the end of a working range where much of the information, including start and stop codes, concerning attributes of the barcode resides. Hence, it would be desirable to control the rate at which the scan pattern grows to decode the barcode depending upon the characteristics of the barcode itself.

The scanner unit must be compact, energy efficient, and capable of scanning both 1-D and 2-D barcodes. The unit preferably will also be convertible between hand and surface support applications. The scan pattern will preferably be optimized in accordance with whether the unit is in hard held or surface supported modes of operation, whether it is in a presentation type of operation (wherein the indicia are passed under a scan lamp) or a pass through type of operation (supermarket type) and on the type of barcode or other indicia to be read.

DISCLOSURE OF THE INVENTION

This invention generally relates to a compact assembly for electro-optically scanning indicia, including a support, a light source such as a laser diode mounted on the support, an oscillatable optical component, and a drive for oscillating the component. The component includes a focusing element for focusing a light beam emitted by the source, and a scan element of one-piece with the focusing element for directing the light beam away from the support. The drive includes a permanent magnet mounted for joint oscillation with the component, and an energizable electrical coil mounted on the support. When energized by an energizing drive current, the field produced by the coil interacts with the field produced by the magnet to effect oscillation of the component for scanning the light beam over the indicia, for example, a bar code symbol.

The novel one-piece optical component is constituted of a light-transmissive material having a first curved surface constituting part of the focusing element and through which the beam enters the component, and a second reflecting surface from which the focused beam is reflected. The second surface is coated with a reflective coating and constitutes part of the scan element.

The component further includes a third curved surface through which the reflected beam exits the component. The third surface acts as a correcting element for scan aberration correction. The component still further includes extensions of one-piece with the elements. The extensions are operative for holding the permanent magnet.

The component is mounted on a shaft journaled at opposite ends on the support. A biasing element is operatively connected between the component and the support, for constantly exerting a restoring force on the component to return the latter to a neutral position. The biasing element is preferably an elongated leaf spring having one end fixed to the component, and an opposite spring end movably connected to the support. The opposite spring end passes between a pair of friction posts on the support and slides between the posts during oscillation of the component.

The light beam entering the component is at a right angle to the beam exiting the component in the neutral position. The second reflecting surface preferably lies in a plane oriented at a 45° angle to the beam entering the component. When the support is configured as a cylindrical housing having a longitudinal axis, the entering beam travels along the longitudinal axis, and the exiting beam travels radially and passes through an exit port formed in a side wall of the housing.

The light source is preferably a laser diode received in an open end of the housing. The drive coil surrounds the diode. A sensor for detecting light reflected from the indicia is mounted on the housing adjacent the coil and the diode.

Still other objects and advantages of the present invention will become readily apparent to those skilled in this art from the following detailed description, wherein only the preferred embodiment of the invention is shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawing and description are to be regarded as illustrative in nature, and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a perspective view of a “palm-held” scanner, in accordance with one aspect of the invention; and FIG. 1B is a side view of the scanner in cross-section.

FIG. 2A shows raster scanning of a 1-D barcode pattern; and FIG. 2B shows scanning of a 2-D, or PDF, barcode pattern.

FIG. 3A shows a relatively small pattern in scanning a portion of a 1-D barcode for aiming; and

FIG. 3B depicts expansion of the scan pattern to decode the entire barcode.

FIG. 4A shows a 2-D barcode, scanned by a relatively small, rotating Lissajous pattern for aiming; in FIG. 4B, the pattern has transitioned to a raster pattern suitable for 2-D barcode decoding; and in FIG. 4C, the raster is enlarged to decode the complete barcode.

FIGS. 5A and 5B show rosette patterns of different density for aiming; FIG. 5C shows a spiral pattern and FIG. 5D shows a stationary Lissajous pattern; and FIG. 5E shows a rotating line pattern for aiming with automatic scan alignment.

FIG. 6 shows a rotating Lissajous pattern for aiming on and decoding 1-D barcodes.

FIG. 7 shows a precessing raster scan pattern for decoding 2-D barcodes of various orientations.

FIG. 8 is a simplified block diagram of circuitry for producing aim and rotating line scan patterns.

FIG. 9A depicts a raster pattern scanning a 2-D barcode; in FIG. 9B, the scan pattern is horizontally misoriented with respect to the barcode; and in FIG. 9C, the scan pattern contains a degree of droop. FIGS. 9D–9F present the same scan patterns to a 1-D barcode.

FIGS. 10A and 10B depict DBP data streams and signal intervals for two different barcode orientations.

FIG. 11 describes methodology for automatic barcode alignment.

FIG. 12 is a simplified block diagram of a barcode alignment circuit used in the invention.

FIG. 13A is a block diagram of circuitry for driving scan elements for single line rotation and scanning; FIG. 13B shows amplitude responses of a typical resonant scan element.

FIG. 14 is a block diagram of circuitry for generating signals for producing a rotating Lissajous scan pattern.

FIG. 15 depicts the amplitude and phase responses of resonant elements used for producing a rotating Lissajous scan pattern, in accordance with the invention.

FIG. 16 is a perspective view of a rotating Lissajous scanner embodiment, implemented by four reflectors.

FIGS. 17A and 17B show two different reflector configurations for producing a rotating Lissajous scan pattern.

FIG. 18 is a flow chart of trigger initiated, omni-directional scan pattern generation.

FIG. 19 is a flow chart of automatic “aim and shoot” pattern generation, in accordance with the invention.

FIGS. 20A and 20B are side and front views of a miniature scanning assembly, in accordance with an embodiment of the invention.

FIGS. 21A and 21B are side and front views of a miniature scanner assembly, in accordance with another embodiment of the invention.

FIGS. 22A and 22B are views of a miniature scanner having an optical element mounted on two taut wires, in accordance with another embodiment of the invention.

FIG. 23 is a simplified diagram showing two-dimensional scanning using an X-direction scanning element and additional Y-scanning motor.

FIG. 24 is a symbolic drawing of a scanning assembly having a low-mass reflector oscillated by a permanent magnet-electromagnet mechanism.

FIG. 25 is a diagram showing that the angle of oscillation of the low-mass reflector is considerably greater than that of the permanent magnet to which it is mechanically coupled.

FIGS. 26A and 26B are exploded views of two embodiments of palm-held scanner housings, together with a surface mount fixture, in accordance with the invention.

FIG. 27 is a chart of explaining the operation of the scanner in portable and fixed modes for 1-D and 2-D barcode patterns.

FIG. 28 is a side view of a compact scanner assembly, in accordance with still another embodiment of the invention.

BEST MODE FOR CARRYING OUT THE INVENTION

As used in this specification, the terms “symbol” and “barcode” are intended to be broadly construed and to cover not only patterns composed of alternating bars and spaces of various widths, but also other one or two dimensional graphic patterns, as well as alphanumeric characters.

The invention provides a scanner system in which the scan pattern produced by a light beam is controlled to describe an omnidirectional scanning pattern, light reflected from a symbol is detected, and the scan pattern is thereafter controlled in response to the detected signals. The invention also provides a scanner system and method in which adjustment of the spatial coverage of the scan pattern of a scanning beam is automatically made at a responsively controlled rate to effect an appropriate type of scanning pattern depending upon the type of symbols to be read. The invention further provides a scanning system operation in which two different types of barcodes may be read, a standard linear barcode and a 2-D barcode. The invention provides a technique for determining the type of barcode, its angular orientation, and adjusts the spatial coverage or vertical sweep of the raster scanning beam to fully scan and read a 2-D barcode.

In accordance with a first aspect of the invention, the invention further produces scan patterns for reading indicia, optimized in dependence upon the operating mode of the scanner (portable or fixed) and other criteria. A portion of the barcode is initially scanned by projecting a light beam on the target containing the barcode, and scanning the beam using a pattern that is relatively small and dense so as to be visible to the user for aiming. A portion of the barcode is partially decoded to determine the type, and possible size, of the barcode, whether it is a 1-D or 2-D barcode and its angular orientation. A rotating Lissajous pattern is preferred for this purpose as it has been determined to be most robust, although other patterns can be used. If the symbol is found to be a 1-D barcode, the scan pattern is increased in size (opened) to a maximum size, at a prescribed rate, in conformance with the portion of the symbol previously decoded, and the rotating Lissajous pattern decodes the entire symbol. If the symbol is determined to be a 2-D barcode, the rotating Lissajous pattern is converted to a raster pattern, and increased in size at a prescribed rate to decode the barcode. In a preferred embodiment, the raster pattern precesses so as to align with the 2-D symbol and therefore read 2-D barcodes of different angular orientations with respect to the horizontal scanning pattern.

Thus, referring to FIG. 1A, a hand-held barcode scanner 30 is confined to be held in the palm of a user's hand and oriented in the direction of a barcode or other symbol 32 to be read. The scanner 30 is housed in a light-weight plastic housing 40 (FIG. 1B) containing a semiconductor laser light source 42, photodetector 44, optics 46, 48 and 50 and signal processing/control circuitry 52. Alternatively, the housing may be gun-shaped and provided with handle to enable the user to easily manually aim and shoot the light beam toward a symbol which may be remote from the housing, and an indicator which may be an audio source inside the housing to inform the user that the housing is positioned in the correct working range for reading bar code symbols. Such a housing is shown in FIG. 1 of U.S. Pat. No. 5,168,149, incorporated herein by reference. The circuitry in housing 40 may be powered by connection to a power source, or by batteries 54 to allow the unit to operate in a portable, wireless mode.

As further depicted in FIGS. 1A and 1B, a suitable lens 38, or multiple lens system, will focus the scanned beam onto the barcode symbol at an appropriate reference frame. The light source 42 is positioned to introduce a light beam into the axis of the lens 38, and the beam passes through a partially silvered mirror 48 and other lenses or beam-shaping structure as needed. An oscillating mirror 50 is connected to a scanning motor 56 that is driven by the control circuitry 52 in response to manual operation of a trigger 58 on the outside of the housing 40 (FIG. 1A). Signals to and from the control and signal processing circuitry 52 are carried by exit port 34 a and line 34 to external equipment.

The scanner 30 may be adapted to scan different types of articles or for different applications by interchanging the scanning head with another through use of electrical connectors. Furthermore, the scanning module may be implemented within a self-contained data acquisition system including one or more such components as keyboard, display, printer, data storage, application software and data bases (see, for example, U.S. Pat. No. 4,409,470), and may also include a radio or other type of communications interface for communication with a local area network, telephone exchange network or radio broadcast system.

Referring to FIG. 26A, the palm scanner module 30, now shown in more detail, incorporates a rubber grip 110 around the crown of the module slightly above a pair of indentations 112 for seating the module in a mounting bracket 114, enabling the module to pivot about a horizontal axis. The bracket 114 includes a pair of upstanding supports 116 having spindles 118 for rotatably supporting the module. The bracket 114 in turn is mounted on a base 120 that is turreted to a mounting plate 122 and hence is able to rotate about a vertical axis. The scanner module 30 can be easily removed from the bracket by lifting with a force sufficient to enable the spindles 118 to slip from the indentations 112.

The outgoing beam 36 is generated in the scanner 30 by a laser diode or the like, and directed to impinge upon the barcode symbol 32 that ordinarily is positioned a few inches from the front of the scanner. However, other applications may require scanning a target that is at a considerable distance, e.g., 60 feet from the scanner. The outgoing beam 36 is scanned using various patterns to be described later, one being a linear raster as shown in FIGS. 2A and 2B. The user positions the hand-held unit so that the scan pattern traverses the symbol to be read. Light reflected from the symbol is received by the unit 30 and detected by a photodetector 44 within the housing. Light beam 36, in both directions, passes through a transparent or translucent window 38 that preferably is approximately square in shape to accommodate 2-D as well as 1-D pattern scanning.

Referring to FIG. 2A in more detail, a raster scanning pattern, known in the art, is traversing a 1-D barcode. Such a scan pattern may be generated by vertical (or Y-direction) displacement of a linear scan line driven in the X-direction, such as described in U.S. Pat. No. 4,387,297. Although numerous scan lines traverse the barcode, only one line of scan is necessary for proper decoding since the additional scan lines are redundant and only re-read the same data on a different vertical position of the barcode symbol. In FIG. 2B, the raster traverses a 2-D barcode, and is opened vertically to encompass the barcode entirely. Although the 2-D pattern contains many rows of optical elements, it is necessary only that each row be traversed once, as shown, for decoding.

For long range scanning, first aiming and then scanning the barcode to read the code is natural. These operations are termed the “aim mode” and “decode mode” hereinafter. Two trigger pull positions are normally provided, or the trigger is pulled twice to produce these respective modes of operation. In accordance with one aspect of the invention, and referring to FIGS. 3A and 3B, upon a first pull of the trigger 58, a bright spot for aiming is used to establish a small visible pattern on the target surface. This technique is similar to that disclosed in U.S. Pat. No. 5,117,098 of Swartz and assigned to the assignee of this invention. This visible pattern may be produced by a small scan line, but preferably is presented in the form of a bright spot. This “spot” can be developed, and is presented in most visible form, by an oscillating circle, or spiral, pattern shown in FIG. 5C. Other patterns found suitable for aiming are rosette (FIGS. 5A and 5B), stationary Lissajous (FIG. 5D), rotating line (FIG. 5E) and rotating Lissajous (FIG. 6).

For example, the line scan pattern of FIG. 5E is produced by generating a beam of a relatively short line scan pattern, and rotating the pattern quickly about its center once or after every few scans. Alternatively, the scan line may be randomly positioned at pre-determined angles, once or after every few scans, and the angle of rotation about its center of rotation may be controlled in response to signals read produced by light reflected from the symbol. Assuming that the spot is located in nearly the center of the barcode, the orientation of the barcode may be estimated using a peak detector, to be described later, if the barcode is a 1-D barcode or the orientation may be estimated from the returned digital bar pattern, or DBP, as the scan line is positioned at different angles.

Upon the second trigger pull (or further pull of the trigger in the same stroke if the trigger is multi-purpose), or automatically, in the decode mode of operation, the scan pattern opens in the exact orientation of the barcode as determined by the peak detector, as shown in FIG. 3B, so that the entire barcode will be decoded. The ultimate size of the rotating scan line pattern, and the rate at which the pattern opens, is controlled dependent upon barcode attributes, such as type, aspect ratio and size, decoded during the aim mode. Optionally, the barcode may be completely decoded during the aim mode, and if so, a consistency check may be performed during the decoding mode.

The following example assumes an aim pattern in the form of a single scan line, FIG. 5E, a pattern particularly useful for discerning the orientation of a barcode prior to decoding. In order to rotate a single scan line, or position it at any given angle, an element having two degrees of freedom with equal resonant frequencies on both axes is necessary. The horizontal and vertical oscillations are given by {circumflex over (X)}(t)=sin(wt)cos(θ) Ŷ(t)=sin(wt)sin(θ) where θ is the angle of rotation with respect to the x-axis. This angle will normally be produced in the form of a digital quantity presented to the rotation system via a microprocessor system. The resonant frequency w should be chosen high enough so that a possible loss in aggressiveness during the angle estimation/aiming period is not apparent.

In order to cover all possible orientations of the barcode, the scan lines must be capable of rotating through 180 degrees, and preferably the entire symbol will be covered such that at least two scan lines traverse each row of bar patterns during reading. However, the resolution of rotation depends on the aspect ratio and size of the barcode.

If it is necessary to rotate the scan line once every s scans, at a resolution of r degrees, for a duration of d seconds in order to cover a total of 180 degrees, then $w = \frac{180\mspace{14mu}{\pi s}}{rd}$ is selected.

For example, if a complete 180 degree rotation should be accomplished within 0.1 second, at 10 degree resolution for every scan, then w/2π=90 Hz will suffice.

Referring to FIGS. 10–12, means for detecting when the scan line of FIG. 5E is aligned to a barcode are shown. In FIGS. 10A and 10B, the barcodes and scan line are in alignment and out of alignment, respectively. The DBP (digital bar pattern) stream corresponding to the scanned barcode is analyzed to find the scan angle at which the energy content of the DBP stream is maximum because the scan line has intersected the most barcode elements. In FIG. 10A, the DBP pattern scanned by line 75 a has more elements than that of FIG. 10B where the barcode has been scanned by a skewed scan line 75 b. As the scan line is rotated, the number of elements produced in the DBP stream is estimated by filtering and comparing with the stream produced by other scan line angles. Hence, referring to FIG. 11, the DBP stream is read and supplied as an analog signal (a) derived from the DBP stream to a high pass filter 70 which produces waveform (b). A peak level detector 72 tracks the peak value or envelope of the filtered replication of the DBP stream (see waveform (c)), and the peak value is compared to a prescribed threshold (e) by comparator 74. The points at which the envelope and threshold intersect each other develop an output signal (e) having a duration that corresponds to the number of DBP elements spanned by the scan line. The duration of the output signal is measured by timer 76, to indicate the number of elements of the DBP stream, and the scan line producing a DBP stream of greatest duration is identified as having the best alignment to the barcode.

The orientation of the scan line alternatively may be determined more precisely than what is capable using the circuit of FIG. 12 by implementing an algorithm wherein the DBP stream is read and scanned for regions bound by a known scan direction synchronizing signal (called “SOS”) having the most elements. For example, the orientations between five and ten degrees may have one hundred elements, while all others have fewer. If the scan line is shorter than the barcode, then this region between five and ten degrees, for example, will indicate the general barcode orientation. A more exact orientation can be found by rotating the scan line in a direction that minimizes the total sum of these element widths. Once the exact orientation is found, the scan line length may be increased until a decode occurs. Hence, this approach represents a global search for general barcode orientation, and then a fine tuning step.

The circuit of FIG. 12 is more immune than the algorithmic approach, as the threshold of comparator 74 may be set to ignore spurious elements due to noise.

Although the short single line pattern is the most visible, it is disadvantageous for aiming because it suggests orientation and may be psychologically distracting. Larger spots, those shown in FIGS. 5A–D, can be simulated without changing the aperture by creating the spiral pattern shown in FIG. 5A, implemented by modulating the size of a circle pattern. As mentioned previously, a spiral is the most visible, non-orientation, suggestive and easily implemented. All of the aim patterns of FIGS. 5A–D can be created by the circuit shown symbolically in FIG. 8, which implements the following equations: x(t)=sin(w ₂ t)A(t)  (1) y(t)=cos(w ₁ t)A(t)  (2) The function A(t) can be arbitrarily picked. For example, let A(t)=sin(w₃t). The rosette pattern of FIG. 5A is created with w₁=w₂, and W₃₌₄w₂; the rosette pattern of FIG. 5B is created with w₁=w₂, and W₃=2w₂; the spiral pattern of FIG. 5C is created with W₁=W₂, and A(t)=|sin(w₂/50)|; and the stationary Lissajous pattern of FIG. 5D is created with w₁=w₂/1.1, and A(t)=1. The rotating line pattern, FIG. 5E, is created by having the modulating function A(t)=sin(w_(scan)t) and w₁t=w₂t=θ where θ is the angle of the scan line, and w/2π is the scanning frequency.

Another pattern which may be used for aiming, and which will be described in more detail later, is the rotating Lissajous pattern shown in FIG. 6. The rotating Lissajous pattern is somewhat inferior for aiming because its visibility is less pronounced than other patterns, but is particularly advantageous insofar as its ability to decode during aiming is the most robust of all the patterns considered.

Another pattern for aiming found particularly effective is a bright rosette pattern of diameter less than the diameter of rosette to be used for decoding.

Once satisfied with aiming, the scanner begins to deflect the light beam with a scan pattern appropriate for decoding the barcode. The scan pattern for decode may be the same as for aim, or may be a different pattern or may be the same or different pattern with center of rotation that shifts upon transition between the two modes or during decoding. In a preferred embodiment, the decode scan pattern which is generated depends upon whether the barcode is found to be a 1-D barcode (when the preferred decode pattern is omni-directional) or a 2-D barcode (when the preferred decode pattern is raster). Pattern switching may be responsive to a second trigger pull, or may occur automatically.

For example, referring to FIG. 4A, it is assumed that a rotating Lissajous aiming pattern is directed toward a target having a 2-D barcode, as shown. The barcode is partially decoded to determine barcode type and orientation. The first row of the barcode may be decoded to determine whether the barcode is a 1-D or 2-D barcode. Alternatively, an algorithm may be used that is capable of determining whether the portion read is a portion of a 1-D or 2-D barcode on the basis of code words detected and decoded.

Upon determining, in this example, that the barcode is a 2-D barcode, the scan pattern is changed to a raster pattern, as shown in FIG. 4B, necessary for scanning such barcodes. Based upon data read from the barcode during the aim mode, the width of the scanning pattern is opened until it at least spans the width of the barcode, and the height is incremented until the entire barcode is decoded. As the scanning pattern is increased in height, the barcode rows encompassed by the scanning pattern will be read, decoded and interpreted to determine whether an entire 2-D barcode symbol has been scanned, as described in U.S. Pat. No. 5,235,167. Each row the bar code will preferably be traversed by at least two scan lines, although only one traversal is necessary. Once the symbol is read, feedback to the user in the form of, for example, an audio tone, may be presented by the control/processing circuitry within the bar code reader.

Preferably, the specific pattern produced by the scanner, in accordance with an important aspect of the invention, is a pattern that is optimized for a particular classification of indicia and depending on whether the scanner is operating in a portable mode or is mounted in its fixture. A scan pattern is deemed to be optimized if it reads and decodes a prescribed pattern in a minimum amount of time, and within reasonable economic constraints.

If the scanner is operated in the fixed mode, with the palm held module 30 is mounted in bracket 114 and the module 30 directed to a region across which items bearing indicia, such as a barcode, to be read are passed, the rotational orientation of the scan pattern with respect to barcode is indeterminate. On the other hand, if the scanner is operated in the aim and shoot mode, with the module 30 separated from the bracket, the scanning pattern may be manually aligned with the barcode. The specific pattern produced should be optimized for decoding barcodes of the particular classification of barcode being read.

Hence, in accordance with an aspect of the invention, and referring to FIG. 27, a suitable scan pattern is produced for determining classification of the symbol to be read, e.g., whether the symbol is a 1-D or 2-D barcode. In the example shown, a rotating Lissajous scanning pattern is selected for its omnidirectionality and robust decoding ability. At the same time, it is determined whether the scanner is in the portable mode or fixed mode of operation (the order of sequence of the first two steps is arbitrary). This may be carried out by detecting the presence of the module 30 in bracket 114 by means of, e.g., a mechanical or magnetic proximity switch in the base of the fixture (not shown in FIGS. 26A, 26B; however, see U.S. application Ser. No. 08/028,107, filed Mar. 8, 1993, incorporated herein by reference), or by a manual switch located on module 30 or elsewhere.

Assume first that the scanner is in the fixed mode of operation and arranged to read a barcode symbol. The symbol is preliminarily read using the rotating Lissajous scan pattern to detect the start and stop codes of the barcode, so as to determine whether it is a 1-D or 2-D barcode. If the symbol being scanned is determined to be a 1-D barcode, the scanning pattern will remain defaulted in the form of a rotating Lissajous pattern, as shown in FIG. 27, a pattern that has been determined in accordance with the invention to be optimized for 1-D barcodes. If the symbol is determined to be a 2-D barcode, on the other hand, the scanning pattern is changed to a self-aligning raster, as also shown in FIG. 27. (A self-aligning raster is a raster that rotates or precesses so as to traverse a 2-D barcode and read it independently of the rotational orientation of the barcode. A specific embodiment of self-aligning raster is a precessing raster described in more detail later with reference to FIG. 7.)

Still referring to FIG. 27, when the scanner is determined to be operating in the portable mode, and the symbol as read during Lissajous scanning is determined to be a 2-D barcode, the scanner produces a raster type scanning pattern. This raster is preferably stationary, but may be enhanced to precess or rotate so as to read barcode symbols of diverse rotational orientations. On the other hand, if the symbol is determined to be a 1-D barcode symbol, scanning is continued in the form of a pattern optimized to read such barcodes, such as a single or rotating scan line, or rotating Lissajous.

The particular scanning patterns produced for decoding 1-D or 2-D barcodes when the scanner is operated in portable and fixed modes can be varied for specific applications and modules of particular optical characteristics. What is important is that the scanner is adaptive, controlled manually but preferably automatically, to produce decoding scan patterns that are optimized, that is, as robust as practical with respect to the operating mode selected and the classification of indicia being read.

Preferably, the scan pattern is also optimized in dependency on whether scanning is carried out by a presentation type (under a scan lamp) or a pass through (supermarket) type reader. In the presentation type reader, an article carrying a barcode or other symbol to be read is brought to the reader or the reader is brought to the article. Since reading is carried out in very close proximity to the barcode, there is no need for aiming. In the pass through reader, the article bearing a barcode is swiped past a scanning pattern produced by a fixed source of light beams. These two modalities present different decoding requirements to barcode readers (in the pass through mode of reading, the article swipes through the scan region relatively quickly, whereas in the presentation mode, the barcode is relatively stationary when read). Hence, if reading is carried out in the pass through mode, and the barcode is not very truncated (that is, the barcode is thin), a scanning pattern producing lines that are more sparsely spaced but more often repeated is preferred because it is more likely to traverse the barcode. That is, the faster the swipe, the thicker the barcode should be and hence a scanning pattern, such as a rotating Lissajous pattern, optimized for a relatively thick barcode pattern is preferred.

Assuming now that the rotating Lissajous pattern is generated (FIG. 4A) for aiming, in aim and shoot scanning. Another important aspect of the present invention is that the rate of increase of the size of the raster in moving from FIG. 4B to FIG. 4C is responsively controlled depending upon the size and nature of the barcode. The rate at which the scan pattern opens may be controlled to be faster for larger barcodes. The size of each increment may be dependent upon the working range of the scanner. For example, very long range scanners, e.g., up to about 60 feet, may require smaller increments so that the patterns do not grown too fast at the end of the working range.

The preferred Lissajous pattern for decoding, shown in FIG. 6, is preferably of frequency ratio x/y ranging from 1.1 and 1.3 and rotated at a rate of between 1 to 4 degrees per scan. These numbers are found optimal for scanning highly truncated 1-D barcodes. In this respect, the rotating Lissajous pattern, with its sequence of scanning patterns that are successively rationally offset, has been found more robust for decoding than a stationary Lissajous pattern. The optimal stationary Lissajous pattern is at a frequency ratio 0.7. However, the optimized rotating Lissajous pattern produces a 17% improvement in decoding efficiency over the stationary Lissajous pattern. When the rotating Lissajous pattern is converted to a raster for scanning 2-D barcodes in omni-direction, the frequency ratio is made higher by increasing the slower scan frequency y.

Single line rotation and scanning is produced, in accordance with the invention, by driving two mirrors (not shown) using the circuit 80 of FIG. 13A which corresponds to, but is more detailed than, FIG. 8. The two mirrors are mounted on resonant scan elements having relative resonant frequencies at wa and wb, respectively, shown in FIG. 13B. To implement oscillation of the two mirrors for scanning in X- and Y-directions, satisfying the relationships given in equations (1) and (2), the circuit 80 implements a processor 82 that estimates the orientation of the barcode based on element counts in the DBP stream and/or start and stop character detection. A scan line will be opened upon the second trigger pull at an angle based on the last detected barcode orientation. The processor 82 addresses EEPROM cosine and sine tables 84 and 86 which generate digital data corresponding to amplitudes of the cosine and sine of the prescribed angles. These digital signals are multiplied by sin(wt), and the product converted to a corresponding analog signal in multiplying digital-to-analog converters (DAC) 88 and 90.

Amplitude control shown herein assumes that the Y-element will be driven somewhat harder than the X-element so as to compensate for any slightly leading resonant peak, as depicted in the amplitude response curves of FIG. 13B. Similar compensation may have to be carried out to equalize the phase responses. Here, it is assumed that the X-element is leading in phase. The phase adjustment is performed by phase adjustment circuits 92 and 94. The outputs of the phase adjustments 92, 94 are supplied to the X- and Y-inputs of resonant scan elements 96.

Resonant scan elements are known in the art. Such elements typically are provided with a flexural strip of Mylar or other material cantilever mounted to a base and supporting a miniature permanent magnet positioned within a coil. The coil is secured to a base, and a scan mirror is attached to the free end of the cantilever mounted flexural strip. By changing the dimensions or flexural characteristics of the cantilever mounted strip, the mass of the strip, the permanent magnet and mirror, or the distribution of mass on the flexural strip, different resonant frequencies can be established. See, for example, copending application Ser. No. 07/884,738, filed May 15, 1992 and incorporated herein by reference.

The resonant scan element can also be presented as a single element having different resonant frequencies in mutually orthogonal directions, and utilizing a single mirror to perform single line rotation and scanning. The circuit 80 of FIG. 13A can be implemented to apply drive signals for X- and Y-scanning to the two inputs of the dual-resonance scanning element, as disclosed in the copending application.

To produce 2-D scanning patterns for symbologies such as PDF 417, described in U.S. patent application Ser. No. 07/461,881, filed Jan. 5, 1990, the resonant scan element must be capable of being simultaneously driven by at least two frequency components. Raster pattern rotation is achieved by driving a 2-D scanner such that the horizontal element is driven with the signal X(t) and the vertical element is driven with the signal Y(t), where X(t)=sin(w ₁ t)cos(θ)−sin(w ₂ t)sin(θ)  (3) Y(t)=sin(w ₁t)sin(θ)−sin(w ₂ t)cos(θ)  (4) and θ is the angle of rotation in digital form.

The above equations describe a rotating Lissajous pattern, and in fact, any Lissajous pattern may be rotated if the two sine functions are replaced by their Lissajous equivalent. If the resonant scan element has the desired equal amplitude and phase responsive at the two sinusoidal components of each drive axis, as illustrated in FIG. 16 depicting the frequency response shapes of resonant scan elements for 2-D scanning, then no added compensation for phase and amplitude is required.

A circuit 98 for developing drive signals for Lissajous pattern rotation, shown in FIG. 14 and described by equations (3) and (4), comprises a processor 100 addressing sine and cosine EEPROM tables 102 and 104 that produce the sine and cosine values of the angle, in digital form, generated by the processor. These sine and cosine digital values are supplied to multiplying DAC units 106 to produce the analog sine and cosine functions of the above equations.

The four drive signals produced by circuit 98 of FIG. 14 may be applied to four resonant elements supporting four reflectors, each oscillating at a single resonant frequency, as shown in FIG. 17 and identified by numeral 110.

A first pair 112, 114 of the mirrors 110 is optically combined as X-axis elements having two resonant frequencies. The second pair is arranged as a Y-axis element having two resonant frequencies that match those of the first pair. The mirrors may be oriented in either of the configurations of FIGS. 15A and 15B.

Alternatively, each mirror pair may be combined on a single resonant element wherein a distinct resonant peak is available for each axis. The element hence can be driven at its resonance frequency by the higher frequency w2 and off resonance by the lower frequency w1, but with a larger amplitude and any necessary phase compensation. Resonance elements of dual resonant frequency response may be arranged orthogonally to produce the rotatable raster patterns in this case.

FIGS. 9A–9D are raster patterns scanning 2-D and 1-D barcodes, respectively, in perfect alignment. However, in practice since the orientation of the scan pattern will not be in perfect alignment with the barcode; scanning typically will be somewhat skewed as shown in FIGS. 9B and 9E. Furthermore, since 2-D scanning mechanisms tend to be slightly non-linear and will ordinarily produce a somewhat arcuate, or drooped, scan pattern as shown in FIGS. 9C and 9F, decoding of the barcode is somewhat difficult to achieve when a complete row of barcode is not entirely scanned.

To compensate for rotational misalignment between the scan pattern and barcode, or droop in the scan pattern, another aspect of the invention precesses the raster so as to traverse barcode elements that are angularly displaced or are not oriented along a straight line. Referring to FIG. 7, the angle of sweep of each line by the raster scanner is staggered or precessed slightly, so that the light beam sweeps across the barcodes in a zig-zag pattern. Precession whereby subsequent scanning patterns are rotationally offset from a previous pattern, occurs when the ratio of the X component to the Y component of the scanning pattern is not an integer. In the preferred embodiment, the scan ratio is 1.75:1. For example, if the X component frequency is 120 scans per second, then the Y component frequency is 68.5 scans per second (120 divided by 1.75). The scanner can be designed such that the scan ratio is always 1.75:1, although precession alternatively can be achieved by activating the Y frequency scan by a computer driver. Preferably, each row of the bar code will be traversed by two lines of scan, although only a single scan line per row is necessary.

The resultant zig-zag pattern causes the light beam to sweep the barcode symbols in a plurality of different angles, so that angularly offset lines of barcode up to about thirty degrees of offset can be read by the raster during precession. Similarly, even if the beam emitted by the scanner contains a degree of droop, the precessing raster will scan every barcode line during successive frames.

The processors 82 of FIGS. 13A and 100 of FIG. 14 are programmed to control the scanner of this invention in the aim and decode modes, either by manual (trigger) operation or automatically as described previously. Programming of the processors will now be described with reference to the flow charts of FIGS. 18 and 19. FIG. 18 represents scanner operation for either 1-D or 2-D barcodes, wherein the trigger must be operated once for aim and a second time for decode. In FIG. 19, describing a 1-D barcode scanning example, the transition between aim and decode modes of operation is automatic. In some cases, the requirement to operate the trigger twice for aim and decode is preferable, to prevent a symbol from being decoded prematurely or decoding a neighboring barcode.

Referring to FIG. 18, the scanner awaits a first operation of the manual trigger, and when the trigger has been first depressed, as detected in step 100, the scanner generates the aim mode pattern which, as aforementioned, preferably is an omnidirectional pattern (an omnidirectional pattern is one wherein the scan angle the beam traverses over time is not limited) and may be any suitable scan pattern that is radially symmetric, e.g., not a simple raster pattern, including those shown in FIGS. 5A–E or FIG. 6; the oscillating circle or spiral pattern (FIG. 5C) being best from a standpoint of visibility and the rotating Lissajous pattern being best from the standpoint of preliminary decoding of the barcode (step 102).

The scanner now waits for another trigger operation, and when the trigger has been manually operated for the second time, as determined in step 104, an omni-pattern for decoding is generated by the scanner (step 106). In the example of FIGS. 4A and 4B, as described previously, the aim pattern in the form of a rotating Lissajous for aiming transitions converts to a raster for decoding, and as shown in FIG. 4C the aiming pattern is incremented in size (step 108) until the maximum size of the pattern is exceeded (step 110) when the scan pattern is reset in step 112 to increment again.

If, however, the barcode has been fully decoded, determined in step 114, before the maximum size of the scan pattern is exceeded, the routine is completed.

The size of each pattern increment, and the rate at which the increments are generated, are preferably controlled in response to data read from the symbol during the aim mode to achieve an optimal rate of Y-direction expansion depending on the number of rows in and height of a label. If the 2-D code is not successfully decoded at step 114, then decoding is continued until either a successful decode has occurred or until a predetermined amount of time, typically on the order of three seconds, has elapsed.

In accordance with FIG. 19, transition from the aim mode to the decode mode is made automatically, and for this example, the procedure is particularized for scanning a 1-D barcode, although the procedure could be generalized to encompass 2-D barcodes as well.

In response to manual operation of the trigger, in step 120, a rotating line pattern (step 122), corresponding to what is shown in FIG. 5E, is produced. Alignment of the rotating line pattern and barcode is monitored in step 124, and may optionally be fine tuned in accordance with step 126. Alignment may be performed in accordance with the procedure of FIG. 11 and circuit of FIG. 12.

A second manual operation of the trigger per step 128 is optional. Even if the trigger is not operated at this time, when the decoder has determined the optimum angle at which to emit a decode scan pattern, the pattern is produced (step 130). The line size is incremented (step 132) until it exceeds the length of the barcode (step 134). If the maximum size is exceeded, the size of the scan line is reduced to the minimum size for aiming (step 136) and the process repeats. During the time the length of the scan line is incremented, the barcode is being decoded, in step 138, and when decoding is completed, the routine is terminated.

In either the manual or automatic operations, the light beam directed toward the symbol to be read is transitioned between first and second scan paths in the aim and decode modes. In addition to transition between the scan paths described above, the first and second scan paths may differ from each other by rotation about an axis of rotation, by increase in scan path envelope diameter, by both rotation and envelope diameter increase and by displacement of the center of rotation of the first scan pattern.

The user can, therefore, simply aim an apparent spot on the barcode, without regard for the barcode's orientation, and then decode it upon the second trigger pull. It is also possible to provide automatic scan line opening without a second trigger pull. However, there is a danger that the scanner may unintentionally scan and decode the wrong barcode.

In accordance with another aspect of the invention, a first embodiment of a scanning element that may be used to produce the prescribed scan patterns is shown in FIGS. 21A and 21B. In FIG. 21A, a scan module 110 supports and oscillates an objective lens 112 that is mounted on a circuit board 114 that also carries four electric coils 116 equally spaced along the four quadrants of the circuit board. A support member 118 has a central opening 120 for receiving and retaining a light emitting diode 122 that preferably is a laser diode. At a side of the support 118, opposite the diode 122, is a permanent magnet 124 that interacts with an electromagnetic field produced by the coils 116 when an electric current is applied.

The circuit board 114 and support 118 are interconnected by four semi-rigid wires 126 that also carry electric current from a driver circuit to the four coils. By changing the connections between the coils, 1-D or 2-D scan patterns may be selectively achieved.

Wires 126 preferably are tin-soldered to the circuit board 114 and support 118. The material of the wires preferably is a phosphor-bronze alloy, although any other material that conducts electricity and provides semi-rigid support of the circuit board 114 and lens 112 with respect to support 118 may be used.

Magnet 124 is in the form of a ring, and in one embodiment may be magnetized axially. The central hole of magnet 124 serves as an aperture stop for the laser beam.

Alternatively, the permanent magnet 124 may be multiply poled around its circumference. For example, the poling of the permanent magnet may be such that there are four poles, with South poles being oriented at 0° and 180° and North poles at 90° and 270° along the circumference. By suitably energizing two of the four coils 116, the lens and coil assembly will rotate slightly, and hence the semi-rigid wires will begin to form a helix, reducing the distance between the lens 112 and laser beam source 122 to focus the beam. The other two coils are energized to oscillate the lens assembly to produce appropriate scanning.

Another embodiment of scanner, shown in FIGS. 20A and 20B, comprises a casing 130, of bakelite or other suitable material, and of cylindrical configuration. Within the casing 130 is seated a soft iron disk 132 having apertures to accommodate a number of terminals 134 for supplying electric current to an electromagnetic coil 136 positioned on the disk 132. Surrounding the coil 136 within casing 130 is a ring magnet 138 for producing a magnetic field that interacts with the electromagnetic field produced by coil 136. A soft iron core 140 is positioned in the central aperture of the coil 136, and a thin diaphragm 140 of flexible material is seated on the end of magnet 138, as shown, spanning the coil 136 and its core 140. On the outer surface of the diaphragm 140, near the end of core 140 is a thin metal plate 144 of low mass.

Pivotably mounted to the end of casing 130 at 146 is a piece of film 148, preferably made of Mylar. Upon the outer surface of the membrane, at a position in longitudinal alignment with core 140, is a reflector 150. The reflector 150, together with its supporting membrane 148, is maintained separated from the diaphragm plate 144 by another piece of film 152, again preferably formed of Mylar.

Except for Mylar films 148, 152, and reflector 150, the device shown in FIGS. 20A and 20B is of a type conventionally used as an audio beeper, wherein an audio signal applied to leads 134 produce oscillation of the membrane 142 and its attached plate 144. In the present invention, mechanical coupling between reflector 150 and membrane 142, by virtue of Mylar film 152, causes the mirror 150 to oscillate correspondingly, and, if coil 136 is suitably energized, scan.

Another embodiment of a scanning mechanism, in accordance with the invention, is shown in FIGS. 22A and 22B as 148, wherein 1-D scanning is carried out by a scanning element in the form of a bracket, or tensioner, 150 that is of integral construction, generally C-shaped in configuration and resilient. Spanning the ends of the bracket 150 is a closely spaced, parallel pair of wires 152 maintained taut by the spread of the bracket. Attached to the taut wires 152, and essentially located thereon, are a reflector 154 and permanent magnet 158, secured to the wires by a clamp 156.

Within the bracket 150, behind the magnet 158, is an electromagnetic coil 160 which, when energized, produces an electromagnetic field that interacts with the field of the permanent magnet to oscillate reflector 154 in one direction, for example, the X-direction.

An important advantage of the structure of the scanner mechanism shown in FIGS. 22A and 22B is that with mirror 152 floating within the ends of bracket 150, attached to the pair of taut wires 152, strain is uniformly distributed along the wires. This represents an improvement over a scanner implementing a taut band to support an optical element, such as is described in U.S. Pat. No. 5,168,149, where strain tends to concentrate at the ends of the band.

To produce 2-D scanning using the mechanism of FIG. 22, a separate reflector 162, for deflecting the light beam in the Y-direction, is oscillated by a Y-motor 164. The configuration, shown in FIG. 23, with the taut-wire X-scanner 148 of FIG. 22, together with a laser beam source 166 and Y-scanner 162, 164 in the configuration shown, produces a compact scanner assembly.

Another embodiment of scanner, shown in FIG. 24, comprises an electromagnetic coil 172 having a central opening into which partially extends and electromagnetic coil 174. The coil 172 is rigidly secured to a support member (not shown), and the magnet 174 is resiliently coupled to the same support by means of an arm 176.

A U-shaped spring 178 is attached to the magnet 174 at one end, and the opposite end of the spring supports an optical element, preferably a reflector 180. Electrical leads (not shown) carry an energizing current or drive signal to the coil of electromagnet 174. The reflector 180 will oscillate in response to such electromagnet coil signal so as to scan in one or two dimensions, selectively. The spring 178 may be made of any suitable flexible materials, such as a leaf spring, a flexible metal coil or a flat bar having sufficient flexibility properties, and may be of a material such as a beryllium-copper alloy.

The reflector 180 is positioned between a laser beam source and lens assembly 182 and a target (not shown in FIG. 24). Between the reflector 180 and source 182 is a collector 184 having an opening through which a light beam emitted by the laser source 182 may pass to the reflector 180. The collector is oriented so as to direct incoming light, reflected by reflector 180 and then collector 184, to a photodetector 186.

An important aspect of the embodiment of FIG. 24 is that the mass of reflector 180 is considerably less than the mass of permanent magnet 174. The mass of the mirror is selected to be less than about one-fifth the mass of the magnet, and the angle of vibration of the mirror as shown in FIG. 25, a diagram derived by computer simulation, is about seven times that of the permanent magnet.

The reflector 180 is capable of 2-D scanning. As described in copending application Ser. No. 07/943,232, filed on Sep. 10, 1992, the U-shaped spring 178, which may be formed of a plastic material, such as Mylar or Kapton, the arms of the U-shaped spring 178 and the planar spring 1.76 may be arranged to vibrate in planes which are orthogonal to each other. Oscillatory forces applied to permanent magnet 174 by the electromagnetic 172 can initiate desired vibrations in both of the springs 178 and 176 by carefully selecting drive signals applied to various terminals of the coil, as discussed in the copending application. Because of the different frequency vibration characteristics of the two springs 178 and 176, each spring will oscillate only at its natural vibration frequency. Hence, when the electromagnetic 172 is driven by a super position signal of high and low frequency components, the U-shaped spring will vibrate at a frequency in the high range of frequencies, and the planar spring 176 will vibrate at a frequency in the low range of frequencies.

An additional important aspect of the embodiment of FIG. 24 is that the laser beam emitted by source 182 impinges the reflector 180 at an angle that is orthogonal to the axis of rotation of the reflector. Hence, the system avoids droop in the 2-D scan pattern that tends to arise when the angle of incidence of the laser beam is non-orthogonal to the reflective surface.

Another important aspect of FIG. 24 is in the folded or “retro” configuration shown, with the laser beam source 182 off axis from that of the beam directed from the reflector 180 to the target. The detector field of view follows the laser path to the target by way of collector 184. The folded configuration shown is made possible by opening 181 in the collector. The retro configuration enables the scanning mechanism to be considerably more compact than heretofore possible.

Optionally, the bracket 116 may be mounted on an extension tube 124, shown in FIG. 26B, so as to offset the module 30 from a support surface and enable tall items to be scanned.

Hence, as described herein, the invention produces a rotating Lissajous scan pattern or other pattern that is easily seen by the user during aiming on a barcode, and then under manual control or automatically converts to a decode scan that is robust and opens at a rate, and to a size, that depends upon the barcode itself. If the barcode is a 1-D code, the decode pattern may be a precessing raster that is able to scan rows that are rotationally misaligned with the scan lines. Scanning is implemented by novel miniature 1-D and 2-D scanning assemblies, as described herein.

Another form of scanner that can produce the required two-dimensional scanning patterns is of a type implementing a scan element supported by a holder structure mounted on a mylar motor to produce oscillatory movements, the arrangement being mounted on a printed circuit board within a housing that can be manually held. The scanning motor and arrangement may be made of components formed essentially of molded plastic material, and utilizing of a Mylar leaf spring to limit scan. See, for example, U.S. patent application Ser. No. 07/812,923, filed Dec. 24, 1991, assigned to the assignee of this invention and incorporated herein by reference.

FIG. 28 depicts another embodiment of a compact assembly 200 for electro-optically scanning indicia. The assembly 200 includes a support 202, preferably a cylindrical housing extending along a longitudinal axis between opposite ends 204, 206. A light source 208, preferably a laser diode, is inserted into open end 204. An annular shoulder 210 on the source abuts against an annular flange 212 at the open end 204 to define the installed position of the source. When electrically activated, the source emits a laser beam along a path toward the indicia to be scanned.

The support 202 has an annular collar 214 spaced axially from the flange 212. An electromagnetic coil 216 is wound around the support between the collar 214 and the flange 212. A sensor 218, preferably a photodiode, is mounted radially exteriorly of the flange and the collar, and overlies the coil 216 and the source 208. The sensor 218 detects light reflected off the indicia, and generates an electrical signal indicative of the variable intensity of the reflected light from the indicia. A filter 220 is positioned over the sensor, and may be a light-transmissive plastic or glass filter, or even a coating of a liquid filter material that is cured in place on the sensor.

The source 208 includes an aperture plate 22 having an aperture stop 224 through which the emitted beam passes. An oscillatable optical component 230 is mounted in the path of the beam, and on a shaft 226 whose opposite ends are journaled in bearings on opposite sides of the cylindrical housing. An exit window or port 228 is formed in the side wall of the housing.

The component 230 is formed of a light-transmissive, optically modifying material, such as synthetic plastic or glass, and includes a focusing element 232 having an outer convexly curved surface 234 through which the emitted beam first enters the component and is focused at a focal point within a working range of distances at which the indicia are located, and a scan element 236 having an outer planar surface 238 coated with a reflective coating preferably a metallic coating formed of nickel, gold or chromium, for reflecting the focused beam away from the coated surface 238. The coated surface 238 is oriented at a 45° angle to direct the reflected beam perpendicularly to the incident focused beam. The focusing and scan elements are of one-piece with each other.

The component 230 also preferably has a connecting element 240 having an outer convexly curved surface 242 through which the reflected beam exits the component and is focused for correction of scan aberration. The correcting element is likewise of one-piece with the component.

A permanent magnet 244 is fixedly mounted for joint oscillation with the component 230 on a pair of rear extensions or arms 246, 248, also of one-piece with the component. The magnet 244 generates a permanent magnetic field which interacts with the electromagnetic field generated by the coil 216 upon energization of the coil by an energizing drive current, such as a train of square waves, or any periodic drive signal. The component oscillates in alternate circumferential directions about the shaft over arc lengths on the order of 20°–25° in each direction from an equilibrium or neutral position depicted in FIG. 28.

The neutral position is established by a biasing element or flexure 250, preferably a planar leaf spring, having one end 252 fixed to the component by a fastener, and an opposite end 254 slidably mounted between a pair of friction posts 256, 258 mounted on the support. The flexure end 254 is frictionally captured, but movable, between the posts. The flexure 252 constantly exerts a restoring force on the component to return the latter to the neutral position.

During energization of the coil by the drive current, the interacting magnetic fields causes the magnet and the component to oscillate, thereby flexing the flexure. The flexure bends in one, and then in an opposite, rounded shape. The flexure end 254 slides back and forth through the posts during the bending of the flexure. Preferably, the flexure is constituted of a resilient material such as Mylar™, a thin polyester film about 0.001″ thick.

Focusing of the beam is advantageously achieved by the same component that performs the scanning or sweeping of the beam across the indicia. The overall assembly occupies a compact volume on the order of 6.5 mm×6.5 mm×5.6 mm.

It will be understood that each of the elements described above, or two or more together, also may find a useful application in other types of constructions differing from the types described above.

While the invention has been illustrated and described as embodied in an electro-optical scanning assembly with one-piece, oscillatable, focusing/scan element, it is not intended to be limited to the details shown, since various modifications and structural changes may be made without departing in any way from the spirit of the present invention.

Without further analysis, the foregoing will so fully reveal the gist of the present invention that others can, by applying current knowledge, readily adapt it for various applications without omitting features that, from the standpoint of prior art, fairly constitute essential characteristics of the generic or specific aspects of this invention and, therefore, such adaptations should and are intended to be comprehended within the meaning and range of equivalence of the following claims.

What is claimed as new and desired to be protected by Letters Patent is set forth in the appended claims. 

1. A terminal for executing a program, comprising: a reader for electro-optically reading machine-readable indicia constituting machine-executable instructions of the program; a processor for decoding the instructions and for self-executing the program to create a network site; and a display for displaying the network site.
 2. The terminal as claimed in claim 1; and further comprising a network interface on the terminal, for interfacing with a computer network.
 3. The terminal as claimed in claim 1, wherein the machine-readable indicia comprises a bar code symbol.
 4. The terminal as claimed in claim 1, wherein the machine-executable instructions are expressed in an agent implementation language.
 5. The terminal as claimed in claim 1; and further comprising a terminal housing in which the processor and the reader are provided, and wherein the terminal housing has an interface for interfacing with a computer network.
 6. The terminal as claimed in claim 1, wherein the reader includes a scanner for sweeping a light beam across the indicia.
 7. The terminal as claimed in claim 1, wherein the reader includes a scanner for scanning a field of view across the indicia.
 8. The terminal as claimed in claim 1, wherein the terminal includes a wireless transmitter for transmitting data from the terminal to a computer network.
 9. The terminal as claimed in claim 1, wherein the indicia is stored on a storage medium, and wherein the reader is a portable device movable relative to the storage medium.
 10. A system for executing a program, comprising: a terminal including a computer network interface, a reader for electro-optically reading machine-readable indicia constituting machine-executable instructions of the program, a processor for decoding the instructions and for self-executing the program to obtain data to create a network site and a display for displaying the network site; and a storage medium on which the indicia is printed and read by the reader; and wherein the interface transmits the data via the interface to a computer network.
 11. The system as claimed in claim 10, wherein the indicia includes a plurality of bar coded symbols, and wherein the storage medium includes a plurality of sheets on which the symbols are printed.
 12. An optical reading and processing device for optically acquiring a computer-executable program encoded in the form of a two-dimensional bar code symbol on a storage medium, comprising: a bar code reader for electro-optically reading the two-dimensional bar code symbol; a transmitter for sending data over a communication link; a processor for decoding the read two-dimensional bar code symbol to obtain the computer-executable program encoded therein, and for either executing the program to create a network site or causing the program to be transmitted via the communication link to a remote computer for execution to create the network site; and a display for displaying the network site.
 13. The device as claimed in claim 12, wherein the device is connectable to a computer network via the communication link.
 14. The device as claimed in claim 12, wherein the computer-executable program is expressed in an agent implementation language.
 15. The device as claimed in claim 12, wherein the processor executes the program to create the network site within the device.
 16. The device as claimed in claim 12, wherein the communication link is a wireless link.
 17. A method of optically acquiring and using a computer-executable program encoded in the form of a two-dimensional bar code symbol on a printed page via an optical reading and processing device, comprising the steps of: reading the two-dimensional bar code symbol; decoding the read two-dimensional bar code symbol to obtain the computer-executable program encoded therein; executing the program to create a network site; and displaying the network site.
 18. The method as claimed in claim 17, wherein the executing step includes transmitting the program via a communication link to a remote computer for execution. 